package com.srxz.personnelsystem.system.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;

/**
 * @ClassName: UserInfo
 * @author: wgchao
 * @createTime: 2019/1/8 2:50 PM
 * @Description: 人员信息
 */
@Entity
@Table
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserInfo implements Serializable {
    @Id
    @GeneratedValue(generator = "uuid")
    @GenericGenerator(name = "uuid", strategy = "uuid")
    @Column(name = "id")
    private String id;

    @Column(name = "name", length = 50)
    private String name;

    @Column(name = "idcard", length = 50)
    private String idcard;

    @Column(name = "sex", length = 10)
    private String sex;//性别

    @Column(name = "birth")
    private Date birth;//出生日期

    @Column(name = "nation", length = 20)
    private String nation;//民族

    @Column(name = "permanent_addr", length = 200)
    private String permanentAddr;//户籍地址

    @Column(name = "addr", length = 200)
    private String addr;//现住址

    @Column(name = "department_id")
    private String departmentId;

    @Column(name = "religion", length = 50)
    private String religion;//宗教信仰

    @Column(name = "political", length = 50)
    private String political;//政治面貌

    @Column(name = "marriage", length = 50)
    private String marriage;//婚姻状况

    @Column(name = "fertility", length = 50)
    private String fertility;//生育状况

    @Column(name = "education", length = 50)
    private String education;//学历

    @Column(name = "college", length = 100)
    private String college;//毕业学校

    @Column(name = "major", length = 100)
    private String major;//专业

    @Column(name = "qualification", length = 254)
    private String qualification;//资格证书

    @Column(name = "entryTime")
    private Date entryTime;//入职时间

    @Column(name = "regularTime")
    private Date regularTime;//转正时间

    @Column(name = "probation")
    private Integer probation;//试用期 -- 天数

    @Column(name = "dimission_time")
    private Date dimissionTime;//离职时间

    @Column(name = "tel", length = 20)
    private String tel;

    @Column(name = "email", length = 100)
    private String email;

    @Column(name = "status")
    private Integer status;// 是否在职

    @Column(name = "login")
    private Boolean login;// 是否可登录

    @Column(name = "create_time")
    private Date createTime;

    @Column(name = "create_user")
    private String createUser;

    @Column(name = "last_update_time")
    private Date lastUpdateTime;

    @Column(name = "last_update_user")
    private String lastUpdateUser;

    @Column(name = "delete_time")
    private Date deleteTime;

    @Column(name = "delete_user")
    private String deleteUser;
}
